package com.power.sifa.info.api;

import com.plf.common.domain.ResponseDTO;
import com.power.sifa.info.model.pageInfo.Law_docKeywordPageInfo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.power.sifa.info.model.Law_doc;
import com.power.sifa.info.model.pageInfo.Law_docPageInfo;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  法律表 Feign
 */
public interface ILaw_docFeign {

    /**
     * 法律表分页列表
     */
    @PostMapping("/law_doc/list")
    ResponseDTO list(@RequestBody Law_docPageInfo law_docPageInfo);

    /**
    * 查看法律表
    */
    @GetMapping("/law_doc/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除法律表
    */
    @PostMapping("/law_doc/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看法律表 复合主键使用
    // */
    //@PostMapping("/law_doc/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Law_doc.Law_docPK pk);

    /**
     * 修改或保存法律表
     */
    @PostMapping("/law_doc/save")
    ResponseDTO save(@RequestBody Law_doc  law_doc);

    ///**
    // * 删除法律表 复合主键使用
    // */
    //@PostMapping("/law_doc/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Law_doc.Law_docPK pk);
    
    /**
     * 批量删除法律表
     */
    @PostMapping("/law_doc/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);
    
     /**
     * 导出excel
     */
    @PostMapping("/law_doc/output")
    void output(HttpServletResponse response, @RequestBody Law_docPageInfo law_docPageInfo);
        
     /**
     * 导出excel模板
     */
    @PostMapping("/law_doc/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);
    
     /**
     *	导入excel
     */
    @PostMapping("/law_doc/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException ;



    /**
     * 法律表分页列表- 重写的分页查询方法
     */
    @PostMapping("/law_doc/pageQuery")
    ResponseDTO pageQuery(@RequestBody Law_docPageInfo law_docPageInfo);

    /**
     * 通过groups 查询法律表分页列表
     */
    @PostMapping("/law_doc/historyVersion")
    ResponseDTO historyVersion(@RequestBody Law_docPageInfo law_docPageInfo);



    /**
     * 法律表- 上传文件更新fileId字段
     * @param id 更新的数据的主键id
     * @param file 上传的文件
     * @return
     */
    @PostMapping("/law_doc/uploadLawFile")
    ResponseDTO uploadLawFile( @RequestParam("id") String id, @RequestPart("file") MultipartFile file);


    /**
     * 法律表- 关键字查询法律法规的标题
     * @param pageInfo 查询条件
     * @return
     */
    @PostMapping("/law_doc/searchDocByKeyword")
    ResponseDTO searchDocByKeyword(@RequestBody Law_docKeywordPageInfo pageInfo);


    /**
     * 关键字获取分词
     * @param keyWord 关键字
     * @return
     */
    @PostMapping("/law_doc/getConWords")
    ResponseDTO getConWords( @RequestParam("keyWord") String keyWord);

}
